package cn.zzdt4j.server.listener;

import org.springframework.context.ConfigurableApplicationContext;

/**
 * Zzdt4j application listener.
 *
 * @author by <a href="mailto:ligang941012@gmail.com">gang.Li</a>
 * @since 2023/10/30 1:41
 */
public interface Zzdt4jApplicationListener {

    /**
     * {@link BaseSpringApplicationRunListener#starting}
     */
    void starting();

    /**
     * {@link BaseSpringApplicationRunListener#contextPrepared}
     *
     * @param context
     */
    void contextPrepared(ConfigurableApplicationContext context);

    /**
     * {@link BaseSpringApplicationRunListener#started}
     *
     * @param context context
     */
    void started(ConfigurableApplicationContext context);

    /**
     * {@link BaseSpringApplicationRunListener#failed}
     *
     * @param context
     * @param exception
     */
    void failed(ConfigurableApplicationContext context, Throwable exception);
}
